package com.ljm.sys.org.api;

import com.ljm.common.page.PageDto;
import com.ljm.sys.org.dto.SysOrgUserDto;

import java.util.List;

/**
 * <p>
 * 系统用户 接口
 * </p>
 *
 * @author HuamingChen
 * @since 2018-12-19
 */
public interface SysOrgUserApi {
    /**
     * 根据用户名称获取用户
     *
     * @param userName 用户帐号
     * @return 系统用户
     * @ 异常
     */
    SysOrgUserDto getUserByUserName(String userName) ;

    /**
     * 获取所有用户
     * @return 用户数据
     * @ 异常
     */
    List<SysOrgUserDto> getAllUser();

    /**
     * 保存用户
     * @param dto 用户信心
     * @param curUser 登录用户信息
     */
    void saveData(SysOrgUserDto dto,SysOrgUserDto curUser);

    /**
     * 删除用户
     * @param ids 主键集合
     */
    void delData(List<Long> ids);

    /**
     * 获取用户信息
     * @param id 主键
     * @return 用户信息
     */
    SysOrgUserDto getDataById(Long id);

    /**
     * 分页获取用户
     * @param fullName  用户部门
     * @param loginName  用户账号
     * @param realName 真实名称
     * @param identityNo 身份证号码
     * @param email 邮箱
     * @return 部门信息
     */
    PageDto<SysOrgUserDto> getDataByPage(String fullName,String loginName, String realName, String identityNo,
                                         String email, Integer pageNo, Integer pageSize);

}
